#ifndef VIEWINTERFACE_H
#define VIEWINTERFACE_H

#include <viewwidget.h>
#include "interfaces.h"

class ViewPluginInterface : public PluginInterface
{
public:
    virtual bool loadSettings() = 0;
    virtual QString viewName()const = 0;
    virtual ViewWidget::ViewType viewType() const = 0;
    virtual QIcon icon(bool active)const = 0;
    virtual ViewWidget * createView(QWidget * parent = 0)const = 0;
    virtual ToolBarItemList toolBarItems(QObject * parent)const = 0;
    virtual SettingsWidget * settingsWidget(QWidget * parent = 0)const = 0;
    virtual void appEvent(AppEvent * event) = 0;
};

Q_DECLARE_INTERFACE(ViewPluginInterface, "arsillustrator/viewplugininterface/1.0")

class UseCaseListDockViewPluginInterface : public ViewPluginInterface
{
public:
    virtual QStringList relatedViews() = 0;
};

Q_DECLARE_INTERFACE(UseCaseListDockViewPluginInterface, "arsillustrator/dockviewplugininterface/1.0")

#endif // VIEWINTERFACE_H
